package fast.data;


public enum Spec {
	Assassination(Stat.agi), Combat(Stat.agi), Subtlety(Stat.agi), // rogue
	Brewmaster(Stat.sta), Windwalker(Stat.agi), Mistweaver(Stat.intt), // monk
	Balance(Stat.intt), Feral(Stat.agi), Guardian(Stat.sta), Restoration(Stat.intt), // druid
	Affliction(Stat.intt), Demonology(Stat.intt), Destruction(Stat.intt); // warlock
	
	public static final Spec[] rogue = { Assassination, Combat, Subtlety };
	public static final Spec[] monk = { Brewmaster, Mistweaver, Windwalker };
	public static final Spec[] druid = { Balance, Feral, Guardian, Restoration };
	public static final Spec[] warlock = { Affliction, Demonology, Destruction };
	
	private final Stat mainStat;
	
	private Spec(Stat s){
		this.mainStat = s;
	}
	
	public static Spec[] getSpecsByCharacterClass(CharacterClass cc) {
		switch (cc) {
			case rogue:
			default:
				return rogue;
			case monk: 
				return monk;
			case druid: 
				return druid;
			case warlock: 
				return warlock;
	    }
	}

	public Stat getMainStat() {
		return mainStat;
	}
}
